package com.cgnpc.scp.manager.controller;

import com.cgnpc.scp.common.utils.AjaxResultUtil;
import com.cgnpc.scp.manager.mybatis.entity.Systeminfo;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.env.Environment;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.Map;

/******************************
 * 用途说明: APP更新
 * 作者姓名: heyachen
 * 创建时间: 2020/08/06 23:04
 ******************************/
@Controller
@RequestMapping("/scp/update")
public class UpdateApp {


    private static final Logger LOGGER = LoggerFactory.getLogger(UpdateApp.class);

    @Autowired
    private Environment env ;
    /**********************************
     * 用途说明: 获取版本号
     * 返回值说明:
     ***********************************/
    @ApiOperation(value="保存常用系统设置")
    @RequestMapping(value = "/getVersion", method = {RequestMethod.POST})
    public Object getVersion(HttpServletRequest request, @RequestBody Systeminfo systeminfo) {
        Map resultMap =new HashMap();
        try{
            resultMap.put("Code",0);//0代表请求成功，非0代表失败
            resultMap.put("Msg","");//请求出错的信息
            resultMap.put("UpdateStatus",1);//0代表不更新，1代表有版本更新，不需要强制升级，2代表有版本更新，需要强制升级
            resultMap.put("VersionCode",2);
            resultMap.put("VersionName","1.0.1");
            resultMap.put("ModifyContent","1、优化。“”“”");
            resultMap.put("DownloadUrl", env.getProperty("app.DownloadUrl"));
            resultMap.put("ApkSize",2048);
            resultMap.put("ApkMd5",2048);//md5值没有的话，就无法保证apk是否完整，每次都会重新下载。框架默认使用的是md5加密。
        }catch (Exception e){
            LOGGER.error("UpdateApp saveOrUpdate error : {}",e.getMessage(),e);
        }
        return resultMap;
    }
}
